An interactive environment for beginning Java programmers
نویسنده
چکیده
Building upon years of evolution in object-oriented programming language design, Java has emerged as the language of choice among many educators for teaching introductory computer science. A clean, type-safe language, Java provides a garbage collected heap and a comprehensive exception-handling mechanism. However, in spite of this support, many students in introductory computer science courses still find programming to be an overwhelming source of frustration. Linguistic concerns and programming mechanics demand so much attention that deeper concepts are often postponed for later courses, leaving students in introductory courses with the mistaken impression that computer science is a shallow discipline, concerned only with transcribing ideas into code, and not with the ideas themselves. JPie is a tightly integrated programming environment for live software construction in Java. JPie treats programming as an application in its own right, providing a visual representation of class definitions and supporting direct manipulation of graphical representations of programming abstractions and constructs. Exploiting Java’s reflection mechanism, JPie supports the notion of a dynamic class that can be modified while the program is running, thereby eliminating the edit-compile-test cycle. Following years of experience using Java as the vehicle for teaching introductory computer science, we have designed JPie to provide a more natural and fluid software development process that both raises the level of abstraction and eliminates many of the common pitfalls that beginning Java programmers face. This paper studies JPie from an educational perspective. We systematically review key programming abstractions and explain how JPie supports them in ways that keep beginning programmers focused on important ideas. Our experience using JPie in an introductory computer science survey course for non-majors is briefly discussed. 1 This work was supported in part by the National Science Foundation under CISE Educational Innovation Grant 0305954.
منابع مشابه
Improving Exception Messages with ExceptionDoctor
Beginning programmers often have difficulty interpreting exceptions and using the associated messages to pinpoint the cause of incorrect program behavior. When an interactive development environment (IDE) presents a novice developer with a runtime time exception, it generally provides with a stack trace and a limited, cryptic exception message that is hard for a beginner to interpret. This pape...
متن کاملEazytagz – an Environment for Building Powerful Interactive Teaching Portals for Non-programmers
1 Frode Eika Sandnes, Oslo University College, Faculty of Engineering, Cort Adelers gate 30, N-0254 Oslo, Norway, [email protected] Abstract Teaching material on the web often comprise of static web pages. Interactive content can be achieved using proprietary and costly software packages. Some educators develop their own interactive teaching portals relying on specialised programming skills an...
متن کاملJava Simulations of Embedded Control Systems
This paper introduces a new Open Source Java library suited for the simulation of embedded control systems. The library is based on the ideas and architecture of TrueTime, a toolbox of Matlab devoted to this topic, and allows Java programmers to simulate the performance of control processes which run in a real time environment. Such simulations can improve considerably the learning and design o...
متن کاملCollabode: Collaborative Coding in the Browser Citation
Collaborating programmers should use a development environment designed specifically for collaboration, not the same one designed for solo programmers with a few collaborative processes and tools tacked on. This paper describes Collabode, a web-based Java integrated development environment built to support close, synchronous collaboration between programmers. We discuss three collaboration mode...
متن کاملVisualizing API Usage Examples at Scale
Using existing APIs properly is a key challenge in programming, given that libraries and APIs are increasing in number and complexity. Programmers often search for online code examples in Q&A forums and read tutorials and blog posts to learn how to use a given API. However, there are often a massive number of related code examples and it is difficult for a user to understand the commonalities a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 53 شماره
صفحات -
تاریخ انتشار 2004